home *** CD-ROM | disk | FTP | other *** search
/ PC/CD Gamer UK 120 / CD Gamer Issue 120 (March 2003) (Disc 1).ISO / Games / DFBHD / DATA1.CAB / Program_Executable_Files / demores.pff / KYLE.WAC < prev    next >
Encoding:
Text File  |  2002-11-21  |  8.0 KB  |  203 lines

  1. ;wac file - nestable IF/THEN/ELSE/ENDIF boolean logic
  2. ;
  3. ;WAC post directory w:\vp\program\wac - commands listed in GAME.WAC
  4. ;WAC debug screen under shift-F12, numlock arrows to select and scroll
  5. ;
  6. ;GLOBAL WAC is GAME.WAC (executed first)
  7. ;
  8. ;MISSION WAC is misname.WAC (executed second)
  9. ;
  10. ;Left to Right order of operations
  11. ;
  12. ;---WAC LANGUAGE COMMANDS
  13. ;nestable flow control
  14. ;       IF THEN ELSE ENDIF
  15. ;boolean logic
  16. ;       AND OR XOR
  17. ;function modifier
  18. ;       NOT
  19. ;comments
  20. ;       ; /
  21. ;
  22. ;Syntax - parens optional, line returns and tabbing optional
  23. ;
  24. ;       if trigger1(params) and trigger2(params) then
  25. ;               event1(params)
  26. ;               event2(params)
  27. ;       endif
  28. ;
  29. ;Example
  30. ;
  31. ;   I want to open doors in group 12 the first time I enter area 1501
  32. ;
  33. ;       if location(1501) and never() then
  34. ;               opendoors(12)
  35. ;       endif
  36. ;
  37.  
  38. ;---VARIABLES & IMMEDIATES (a variable can always be used as an immediate)
  39. ;"STRING"       immediate string value
  40. ;#              immediate decimal number
  41. ;anim_move      immediate equate from ADM file
  42. ;ammo_name      immediate ammo name (ex. ammo2tgt ammo_rocket 1)
  43. ;fx_fxname      immediate effect name (ex. fxrain fx_effect_lightning)
  44. ;effect_name    immediate effect name (ex. fxrain effect_lightning)
  45. ;SS_SoundSet    immediate soundset name
  46. ;sSoundSet      immediate soundset name (alternate syntax)
  47. ;face_name      immediate face name (ex. ssnface 45 face_happy)
  48. ;V#             V0 to v511 game variables, cleared at start of mission
  49. ;G#             G0 to vG11 global variables, not cleared during link
  50. ;M#             Music Script Variable
  51. ;result         current return/accumulator value (mostly for debug)
  52. ;ticks          number of seconds into game
  53. ;wind           used by SWING, FLICKER, and particle wind2
  54. ;health         player's health/hp value
  55. ;mana           player's mana
  56. ;neartype       the type of the nearest enemy (from items.def dialog)
  57. ;neardist       the distance to the nearest organic
  58. ;nearmove       the anim move of the nearest organic (setable)
  59. ;nearid         the unique dcb/id of the nearest organic
  60. ;neartid        the id of the organic's target or 0 if no target
  61. ;nearblind
  62. ;nearflying
  63. ;nearguard
  64. ;nearSSN
  65. ;nearWP
  66. ;nearGroup
  67. ;nearHP
  68.  
  69. ;---TRIGGERS (# param can be number or variable)
  70. ;random(#)      randomly true 1 in # times, sets RND for additional tests
  71. ;elapse(#)      true if # seconds have past since last activated
  72. ;chain(#)       true if previous IF fired # seconds ago
  73. ;link(#1,#2)    true if IF #1 away from current IF fired #2 seconds ago
  74. ;                       link(-1,10) is same as chain(10)
  75. ;past(#)        true if past # seconds into game
  76. ;never()        true if event has never fired
  77. ;location(#)    true if you are at that location
  78. ;outside()      true if you are not in a blink box
  79. ;waveready()    true if no talking going on
  80. ;groupdead(#)   true if entire group is dead
  81. ;groupalive(#)  true if anyone in group is alive
  82. ;ssndead(#)     true if ssn is dead
  83. ;ssnalive(#)    true if ssn is alive
  84. ;ssnride(#)     true if any organic is standing on SSN
  85. ;meride(#)      true if player is standing on SSN
  86. ;ssngun(#)      true if SSN is using an emplaced weapon
  87. ;ssnloc(#,#)    true if vehical or person is in location
  88. ;dooropen(#)    true if group # has door open
  89. ;event(#)       true if med event has triggered
  90. ;squadevent(#)  true if squad event is in que, sets squadSSN to talker
  91. ;
  92. ;---VARIABLE COMPARE
  93. ;eq(#,#)        true if #==#
  94. ;ne(#,#)        true if #!=#
  95. ;lt(#,#)        true if #<#
  96. ;gt(#,#)        true if #>#
  97. ;le(#,#)        true if #<=#
  98. ;ge(#,#)        true if #>=#
  99. ;true(#)        true if #!=0
  100. ;false(#)       true if #==0
  101. ;
  102. ;---VARIABLE MODIFY
  103. ;set(var,#)             set var to #
  104. ;add(var,#)             add # to var
  105. ;sub(var,#)             subtract # from var, clamp at 0
  106. ;inc(var)               add 1 to var
  107. ;dec(var)               subtract 1 from var, clamp at 0
  108.  
  109. ;---EVENTS (# param can be number or variable)
  110. ;squadclear             clears squadevent selected by squadevent(#)
  111. ;forceanim(anim)        forces all organics into anim slot (debug only)
  112. ;report("text")         pop-up debug report window
  113. ;report#("text",#)      pop-up debug report window with number
  114. ;text("text")           output text to chat - right side
  115. ;text#("text",#)        output text to chat w/# - right side
  116. ;consol("text")         output text to consol - left side
  117. ;consol#("text",#)      output text to consol w/# - left side
  118. ;
  119. ;flash                  produce a flash of lightning & thunder
  120. ;farflash               produce a far away flash of lightning & thunder
  121. ;quake(#)               earthquake for # 10th of a seconds
  122. ;
  123. ;sun(#,#,#)             sets sun rgb    ENV override
  124. ;sky(#,#,#)             sets sky rgb
  125. ;ground(#,#,#)          sets ground rgb
  126. ;ceiling(#,#,#)         sets ceiling rgb
  127. ;floor(#,#,#)           sets floor rgb (inside ground)
  128. ;lightning(#,#,#)       sets the color of the lightning
  129. ;cloud(#,#,#)           sets the cloud color
  130. ;gain(#,#,#)            sets the brightness of the whole scene
  131. ;
  132. ;fogcolor(#,#,#)        set fogcolor to R,G,B, changes in 1 second
  133. ;fog(#,#,#)             set fogcolor to R,G,B (same as fogcolor)
  134. ;fogtype(#)             set fog type 0=fog, 1=haze, 2=haze wall, 3=fog wall
  135. ;fogdist(#)             sets fogdist to # meters (same as set(fog,#)
  136. ;
  137. ;sound(sSSNAME, dist, head)  plays soundset at distance(meters) and heading(bangle)
  138. ;
  139. ;nearwave("wave.wav", dist) plays wave file from the mouth of the nearest enemy with max dist to be heard
  140. ;nearanim(anim_move)    sets the nearest enemy to ADM move slot
  141. ;SSNwave(ssn, "wave.wav", dist) plays wave file from the mouth of the ssn with max dist to be heard
  142. ;SSNanim(ssn, anim_move)    sets the ssn to ADM move slot
  143. ;SSNradio(ssn, "wave.wav", volume)      sets the ssn to talk on radio
  144. ;
  145. ;SSNmax(ssn, maxengage) set max engage distance
  146. ;SSNmin(ssn, minengage) set min engage distance
  147. ;SSNatt(ssn, maxattack) set max attack distance
  148. ;GroupMax(group, maxengage) set max engage distance
  149. ;GroupMin(group, minengage) set min engage distance
  150. ;GroupAtt(group, maxattack) set max attack distance
  151. ;remove(grp)            remove group # without a trace
  152. ;kill(grp)              kill group #
  153. ;removeSSN(ssn)         remove SSN # without a trace
  154. ;killSSN(ssn)           kill SSN #
  155. ;teleport(grp,tgt)      teleport group # to target #
  156. ;telessn(ssn, tgt)      teleport SSN # to target #
  157. ;targetfx(tgt)          create med particle fx at target #
  158. ;sound2tgt(ss,tgt)      create ssoundset # at target # (ex. sound2tgt sSoundSet 1)
  159. ;ammo2tgt(ammo,tgt)     create ammo # at target # (ex. ammo2tgt ammo_rocket 1)
  160. ;fx2tgt(fx,tgt)         create fx # at target # (ex. fx2tgt effect_lightning 1)
  161. ;opendoors(group)       open doors in group #
  162. ;closedoors(group)      close doors in group #
  163. ;SSNtoWP(ssn, wp)       redirect SSN to WP list
  164. ;GtoWP(group, wp)       redirect Group to WP list
  165. ;ammorain(ammo)         rain down ammo # somewhere near player
  166. ;fxrain(fx)             rain down effect # somewhere near player
  167. ;ssncspd(ssn,speed)     set ssn to combat speed of #
  168. ;ssnpspd(ssn,speed)     set ssn to patrol speed of #
  169. ;ssnuse(ssn)            snap ssn to emplaced weapon if within 3 meters
  170. ;ssnrelease(ssn)        remove ssn from emplaced weapon
  171. ;ssn2ssn(ssn, ssn)      have ssn goto ssn and try to snap to emplaced
  172. ;ssnface(ssn, face)     set face expression of ssn
  173. ;
  174. ;example select 1 or 2 randomly
  175. ;       if random 2 then
  176. ;               text "1"
  177. ;       else
  178. ;               text "2"
  179. ;       endif
  180. ;
  181. ;example select 1 or 3 randomly
  182. ;       if random 3 then
  183. ;               text "1"
  184. ;       else if eq(rnd, 2)
  185. ;               text "2"
  186. ;       else if eq(rnd, 3)
  187. ;               text "3"
  188. ;       endif
  189. ;       endif
  190. ;       endif
  191.  
  192. ;*********************************************************
  193.  
  194.  
  195.  
  196.  
  197. if waveready and elapse(12) then        // and eq(neartype,1)
  198.     consol ("srgt talking")
  199.     nearwave("taunt1.wav", 100)
  200.     nearanim anim_idle_7            //pace and talk
  201. endif
  202.  
  203.